package services;

import dao.NewsDaoImpl;
import domain.News;

import java.util.List;

public class NewsServicesImpl implements NewsServices{
    NewsDaoImpl dao = new NewsDaoImpl();

    /**
     * 获取全部新闻
     * @return 获取到的新闻封装为News对象，存储在List中
     */
    public List<News> getNews() {
        List<News> allNews = dao.getAllNews();
        return allNews;
    }

    /**
     * 通过新闻类型、页码、每页多少条来获取新闻列表，实现分页功能
     * @param tid 新闻类型id，id=0时代表查询所有
     * @param no 页码
     * @param size 每页条数
     * @return 获取到的新闻封装为News对象，存储在List中
     */
    public List<News> getNewsByNumber(int tid, int no, int size) {
        return dao.getNewsByNumber(tid,no,size);
    }

    public List<News> getNewsByTopic(int ntid) {
        List<News> newsList = dao.getNewsByTopic(ntid);
        return newsList;
    }

    /**
     * 获取新闻总条数
     * @param tid 新闻类型
     * @return 该类型的新闻条数
     */
    public int countNews(int tid) {
        return dao.countNews(tid);
    }

    /**
     * 通过nid获取新闻的详细信息
     * @param nid 新闻的nid
     * @return 该条新闻封装的News对象
     */
    public News getNewsDetailsByNid(int nid) {
        return dao.getNewsDetailsByNid(nid);
    }

    /**
     * 编辑新闻
     * @param news 需要修改的News对象
     * @return 修改成功的条数
     */
    public int modifyNews(News news) {
        return dao.modifyNews(news);
    }

    /**
     * 添加新闻
     * @param news 新的新闻封装成的News对象
     * @return 添加成功的条数
     */
    public int addNews(News news) {
        return dao.addNews(news);
    }

    /**
     * 删除新闻
     * @param nid 新闻的nid
     * @return 删除成功的条数
     */
    public int deleteNewsByNid(int nid) {
        return dao.deleteNewsByNid(nid);
    }
}
